#ifndef _SHARED_DEFINITIONS
#define _SHARED_DEFINITIONS
	//#include <limits>
	class Customers;
	//Define some constants used in the store
	//const int MAX_CLERK_NUMBER = 5;
	const int MAX_ITEMS = 10; //Max different items in store
	const int MAX_ITEMS_PER_AISLE = 2; //Max different items per aisle
	//Initial build constants
	const int INITIAL_AISLE_ITEM_COUNT = 3; //Initial item count at start per item
	enum ClerkStatus { CLERK_BUSY=0, CLERK_BREAK=1 };
	const int MAX_INT = 999999;
    const int MAX_SHOPPING_LIST = 10;
    const int NOT_FOUND = -1;
    const int STOCKBOY_DELAY = 10;
    const int MAX_CLERKS = 5;
    const int MAXIMUM_OCCUPANCY =10;
    const int MAX_STOCKBOYS = 5;
    const int MAX_AISLES = 5;
    //The following defines the number of lines that can be made by customers to ask questions
    //from stockboys, there are (MAX_AISLES+1) lines because of the service button line.
	#define NUM_CUSTOMERS_WAIT_LINES_FOR_STOCKBOYS (MAX_AISLES+1)
    //Customers who are in service area, will be interacting with stock boys in line#MAX_AISLES
	#define SERVICE_AREA_LINE MAX_AISLES

    //#define PRINT_EXTRA_LOG
    //

    //#define PRINT_EXTRA_LOG_CUSTOMER
	//#define PRINT_OUTPUT_CUSTOMER
    ////
//	#define PRINT_EXTRA_LOG_CLERK
	//#define PRINT_OUTPUT_CLERK
    //#define PRINT_LOCKS_CLERK
    //
    //#define PRINT_EXTRA_LOG_STOCKBOY
	//#define PRINT_OUTPUT_STOCKBOY
	//#define PRINT_LOCKS_STOCKBOY
    //
    #define PRINT_OUTPUT_CASH_REGISTER
	#define PRINT_EXTRA_LOG_CASH_REGISTER
    //
	#define PRINT_OUTPUT_MANAGER
	#define PRINT_EXTRA_LOG_MANAGER
    //
	#define IGNORE_STOCKBOYS
	//#define IGNORE_CLERKS
    //#define IGNORE_REGISTERS


#endif
